Tests performed on:
Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz
Cache L1d : 32K
Cache L1i : 32K
Cache L2 : 256K
Cache L3 : 3072K
16 GB RAM
December 2019
running 1 test
1 iteration
=== Test u32 === Ska Sort (Rust) Raw Voracious sort (Rust) Ska sort (cpp)
Array size: 100
-- Unif :5us 0ns (57.07ns) 2us 0ns (28.00ns) 11581ns
-- Unif 10^9 :2us 0ns (21.73ns) 2us 0ns (20.97ns) 11213ns
-- Asc :0us 0ns (2.69ns) 0us 0ns (1.50ns) 5940ns
-- Equal :0us 0ns (1.34ns) 0us 0ns (1.32ns) 1509ns
-- Sqrt :1us 0ns (17.02ns) 1us 0ns (14.52ns)
Array size: 1000
-- Unif :28us 0ns (28.69ns) 37us 0ns (37.80ns) 77052ns
-- Unif 10^9 :21us 0ns (21.90ns) 17us 0ns (17.87ns) 92152ns
-- Asc :33us 0ns (33.16ns) 1us 0ns (1.27ns) 71953ns
-- Equal :18us 0ns (18.23ns) 1us 0ns (1.10ns) 85597ns
-- Sqrt :17us 0ns (17.87ns) 15us 0ns (15.44ns)
Array size: 10000
-- Unif :228us 0ns (22.88ns) 211us 0ns (21.10ns) 553291ns
-- Unif 10^9 :279us 0ns (27.93ns) 221us 0ns (22.10ns) 406362ns
-- Asc :161us 0ns (16.14ns) 8us 0ns (0.81ns) 586244ns
-- Equal :88us 0ns (8.83ns) 7us 0ns (0.72ns) 294278ns
-- Sqrt :257us 0ns (25.71ns) 83us 0ns (8.37ns)
Array size: 100000
-- Unif :2769us 0ns (27.70ns) 2099us 0ns (21.00ns) 2492929ns
-- Unif 10^9 :2753us 0ns (27.54ns) 1593us 0ns (15.93ns) 2162418ns
-- Asc :1670us 0ns (16.70ns) 92us 0ns (0.92ns) 1413987ns
-- Equal :729us 0ns (7.29ns) 67us 0ns (0.68ns) 2800005ns
-- Sqrt :2727us 0ns (27.28ns) 1374us 0ns (13.75ns)
Array size: 500000
-- Unif :15273us 0ns (30.55ns) 8152us 0ns (16.30ns) 10942864ns
-- Unif 10^9 :13714us 0ns (27.43ns) 11390us 0ns (22.78ns) 14182440ns
-- Asc :7901us 0ns (15.80ns) 391us 0ns (0.78ns) 19526681ns
-- Equal :3400us 0ns (6.80ns) 638us 0ns (1.28ns) 3643098ns
-- Sqrt :10661us 0ns (21.32ns) 8636us 0ns (17.27ns)
Array size: 1000000
-- Unif :25628us 0ns (25.63ns) 18983us 0ns (18.98ns) 24251259ns
-- Unif 10^9 :26300us 0ns (26.30ns) 24354us 0ns (24.35ns) 31172701ns
-- Asc :16176us 0ns (16.18ns) 831us 0ns (0.83ns) 22352786ns
-- Equal :6851us 0ns (6.85ns) 1284us 0ns (1.28ns) 7301383ns
-- Sqrt :17816us 0ns (17.82ns) 16974us 0ns (16.97ns)
Array size: 2000000
-- Unif :52697us 0ns (26.35ns) 44480us 0ns (22.24ns) 56103779ns
-- Unif 10^9 :62631us 0ns (31.32ns) 54710us 0ns (27.36ns) 64744770ns
-- Asc :32955us 0ns (16.48ns) 1760us 0ns (0.88ns) 29352215ns
-- Equal :13735us 0ns (6.87ns) 1476us 0ns (0.74ns) 16620264ns
-- Sqrt :38477us 0ns (19.24ns) 33866us 0ns (16.93ns)
Array size: 5000000
-- Unif :134594us 0ns (26.92ns) 127591us 0ns (25.52ns) 163168049ns
-- Unif 10^9 :135922us 0ns (27.18ns) 115308us 0ns (23.06ns) 139621488ns
-- Asc :81564us 0ns (16.31ns) 4091us 0ns (0.82ns) 71843929ns
-- Equal :34493us 0ns (6.90ns) 3816us 0ns (0.76ns) 36496214ns
-- Sqrt :79367us 0ns (15.87ns) 77956us 0ns (15.59ns)
Array size: 10000000
-- Unif :315921us 0ns (31.59ns) 269690us 0ns (26.97ns) 315729691ns
-- Unif 10^9 :243514us 0ns (24.35ns) 209630us 0ns (20.96ns) 253836231ns
-- Asc :162218us 0ns (16.22ns) 8341us 0ns (0.83ns) 143863400ns
-- Equal :68654us 0ns (6.87ns) 7330us 0ns (0.73ns) 73458122ns
-- Sqrt :141714us 0ns (14.17ns) 99572us 0ns (9.96ns)
Array size: 50000000
-- Unif :1230596us 0ns (24.61ns) 1062286us 0ns (21.25ns) 1292027078ns
-- Unif 10^9 :1414828us 0ns (28.30ns) 1058032us 0ns (21.16ns) 1230739625ns
-- Asc :877265us 0ns (17.55ns) 40922us 0ns (0.82ns) 829843577ns
-- Equal :345177us 0ns (6.90ns) 37552us 0ns (0.75ns) 366375452ns
-- Sqrt :639743us 0ns (12.79ns) 456812us 0ns (9.14ns)
Array size: 100000000
-- Unif :3327166us 0ns (33.27ns) 2056039us 0ns (20.56ns) 2538759347ns
-- Unif 10^9 :2861775us 0ns (28.62ns) 2480081us 0ns (24.80ns) 2980772348ns
-- Asc :1787088us 0ns (17.87ns) 81869us 0ns (0.82ns) 1660289846ns
-- Equal :682540us 0ns (6.83ns) 75305us 0ns (0.75ns) 734046548ns
-- Sqrt :1210586us 0ns (12.11ns) 859901us 0ns (8.60ns)
Array size: 250000000
-- Unif :7115579us 0ns (28.46ns) 5594929us 0ns (22.38ns) 6613685170ns
-- Unif 10^9 :7430464us 0ns (29.72ns) 6998937us 0ns (28.00ns) 8738308819ns
-- Asc :4513817us 0ns (18.06ns) 204597us 0ns (0.82ns) 4158394470ns
-- Equal :1706559us 0ns (6.83ns) 182428us 0ns (0.73ns) 1835335197ns
-- Sqrt :2982572us 0ns (11.93ns) 2370835us 0ns (9.48ns)
Array size: 500000000
-- Unif :14718359us 0ns (29.44ns) 13054956us 0ns (26.11ns) 15606569635ns
-- Unif 10^9 :14881655us 0ns (29.76ns) 13570124us 0ns (27.14ns) 16016751788ns
-- Asc :9100799us 0ns (18.20ns) 408963us 0ns (0.82ns) 8304776718ns
-- Equal :3414962us 0ns (6.83ns) 366190us 0ns (0.73ns) 3679710275ns
-- Sqrt :5965277us 0ns (11.93ns) 5036015us 0ns (10.07ns)
Array size: 750000000
-- Unif :22358553us 0ns (29.81ns) 20524789us 0ns (27.37ns) 25079465890ns
-- Unif 10^9 :18313078us 0ns (24.42ns) 14720723us 0ns (19.63ns) 18262286007ns
-- Asc :13621050us 0ns (18.16ns) 612766us 0ns (0.82ns) 12444949002ns
-- Equal :5116154us 0ns (6.82ns) 547683us 0ns (0.73ns) 5483758649ns
-- Sqrt :8930189us 0ns (11.91ns) 7629860us 0ns (10.17ns)
Array size: 1000000000
-- Unif :30038365us 0ns (30.04ns) 28222619us 0ns (28.22ns) 34987965641ns
-- Unif 10^9 :22362200us 0ns (22.36ns) 17623533us 0ns (17.62ns) 21520240329ns
-- Asc :18291425us 0ns (18.29ns) 866287us 0ns (0.87ns) 16593542366ns
-- Equal :6832769us 0ns (6.83ns) 730736us 0ns (0.73ns) 7314833060ns
-- Sqrt :11957989us 0ns (11.96ns) 9960763us 0ns (9.96ns)
running 1 test
=== Test u64 === Ska Sort Raw Voracious sort
Array size: 100
-- Unif :3us 0ns (31.01ns) 2us 0ns (21.62ns) 13791ns
-- Unif 10^9 :2us 0ns (23.25ns) 2us 0ns (21.44ns) 11547ns
-- Asc :0us 0ns (4.07ns) 0us 0ns (2.14ns) 6437ns
-- Equal :0us 0ns (1.30ns) 0us 0ns (1.29ns) 3756ns
-- Sqrt :2us 0ns (20.73ns) 1us 0ns (13.75ns)
Array size: 1000
-- Unif :29us 0ns (29.87ns) 35us 0ns (35.56ns) 76592ns
-- Unif 10^9 :52us 0ns (52.92ns) 18us 0ns (18.96ns) 142447ns
-- Asc :50us 0ns (50.11ns) 1us 0ns (1.43ns) 154737ns
-- Equal :35us 0ns (35.17ns) 0us 0ns (0.93ns) 122372ns
-- Sqrt :25us 0ns (25.75ns) 14us 0ns (14.93ns)
Array size: 10000
-- Unif :231us 0ns (23.18ns) 233us 0ns (23.34ns) 694693ns
-- Unif 10^9 :377us 0ns (37.73ns) 241us 0ns (24.13ns) 666791ns
-- Asc :312us 0ns (31.25ns) 14us 0ns (1.41ns) 987300ns
-- Equal :198us 0ns (19.82ns) 7us 0ns (0.73ns) 687684ns
-- Sqrt :706us 0ns (70.68ns) 235us 0ns (23.51ns)
Array size: 100000
-- Unif :3007us 0ns (30.08ns) 2046us 0ns (20.46ns) 2420715ns
-- Unif 10^9 :4031us 0ns (40.31ns) 1677us 0ns (16.78ns) 3220412ns
-- Asc :2243us 0ns (22.44ns) 78us 0ns (0.78ns) 2117382ns
-- Equal :1385us 0ns (13.86ns) 56us 0ns (0.56ns) 1433518ns
-- Sqrt :6408us 0ns (64.09ns) 3871us 0ns (38.71ns)
Array size: 500000
-- Unif :15744us 0ns (31.49ns) 9107us 0ns (18.21ns) 12260783ns
-- Unif 10^9 :16719us 0ns (33.44ns) 13566us 0ns (27.13ns) 18519604ns
-- Asc :11628us 0ns (23.26ns) 454us 0ns (0.91ns) 17751977ns
-- Equal :7142us 0ns (14.28ns) 566us 0ns (1.13ns) 7786090ns
-- Sqrt :22148us 0ns (44.30ns) 19293us 0ns (38.59ns)
Array size: 1000000
-- Unif :28382us 0ns (28.38ns) 20670us 0ns (20.67ns) 25658229ns
-- Unif 10^9 :35953us 0ns (35.95ns) 25633us 0ns (25.63ns) 40531960ns
-- Asc :24075us 0ns (24.08ns) 996us 0ns (1.00ns) 23209017ns
-- Equal :15396us 0ns (15.40ns) 739us 0ns (0.74ns) 15374888ns
-- Sqrt :37134us 0ns (37.13ns) 35735us 0ns (35.74ns)
Array size: 2000000
-- Unif :55508us 0ns (27.75ns) 48883us 0ns (24.44ns) 59768282ns
-- Unif 10^9 :77683us 0ns (38.84ns) 58348us 0ns (29.17ns) 82214058ns
-- Asc :49164us 0ns (24.58ns) 1842us 0ns (0.92ns) 44866168ns
-- Equal :29028us 0ns (14.51ns) 1468us 0ns (0.73ns) 30779479ns
-- Sqrt :83917us 0ns (41.96ns) 74483us 0ns (37.24ns)
Array size: 5000000
-- Unif :144240us 0ns (28.85ns) 138215us 0ns (27.64ns) 174181962ns
-- Unif 10^9 :179506us 0ns (35.90ns) 127257us 0ns (25.45ns) 184573385ns
-- Asc :119902us 0ns (23.98ns) 4626us 0ns (0.93ns) 112868637ns
-- Equal :71550us 0ns (14.31ns) 3723us 0ns (0.74ns) 76495869ns
-- Sqrt :174627us 0ns (34.93ns) 165828us 0ns (33.17ns)
Array size: 10000000
-- Unif :343469us 0ns (34.35ns) 299096us 0ns (29.91ns) 336768303ns
-- Unif 10^9 :342381us 0ns (34.24ns) 240675us 0ns (24.07ns) 347308012ns
-- Asc :241773us 0ns (24.18ns) 10611us 0ns (1.06ns) 227447758ns
-- Equal :142461us 0ns (14.25ns) 7419us 0ns (0.74ns) 152990081ns
-- Sqrt :287912us 0ns (28.79ns) 128200us 0ns (12.82ns)
Array size: 50000000
-- Unif :1402343us 0ns (28.05ns) 1270459us 0ns (25.41ns) 1426721844ns
-- Unif 10^9 :1897302us 0ns (37.95ns) 1222189us 0ns (24.44ns) 1757994194ns
-- Asc :1283853us 0ns (25.68ns) 45877us 0ns (0.92ns) 1225226564ns
-- Equal :710095us 0ns (14.20ns) 40773us 0ns (0.82ns) 764881255ns
-- Sqrt :1164115us 0ns (23.28ns) 532074us 0ns (10.64ns)
Array size: 100000000
-- Unif :3706622us 0ns (37.07ns) 2361161us 0ns (23.61ns) 2860118350ns
-- Unif 10^9 :3832535us 0ns (38.33ns) 2786954us 0ns (27.87ns) 4009948237ns
-- Asc :2554589us 0ns (25.55ns) 91090us 0ns (0.91ns) 2441918283ns
-- Equal :1407148us 0ns (14.07ns) 72446us 0ns (0.72ns) 1550720881ns
-- Sqrt :2148241us 0ns (21.48ns) 957814us 0ns (9.58ns)
Array size: 250000000
-- Unif :8035009us 0ns (32.14ns) 6589031us 0ns (26.36ns) 7476615161ns
-- Unif 10^9 :9844348us 0ns (39.38ns) 7930622us 0ns (31.72ns) 11400713375ns
-- Asc :6531882us 0ns (26.13ns) 229337us 0ns (0.92ns) 6099269412ns
-- Equal :3563247us 0ns (14.25ns) 182458us 0ns (0.73ns) 3830928347ns
-- Sqrt :5211203us 0ns (20.84ns) 3148731us 0ns (12.59ns)
Array size: 500000000
-- Unif :16382160us 0ns (32.76ns) 14883104us 0ns (29.77ns) 17787178424ns
-- Unif 10^9 :19638367us 0ns (39.28ns) 15063316us 0ns (30.13ns) 21372143823ns
-- Asc :12906238us 0ns (25.81ns) 454180us 0ns (0.91ns) 12210201841ns
-- Equal :7061030us 0ns (14.12ns) 361918us 0ns (0.72ns) 7650043430ns
-- Sqrt :10098685us 0ns (20.20ns) 6707134us 0ns (13.41ns)
Array size: 750000000
-- Unif :24654092us 0ns (32.87ns) 23236921us 0ns (30.98ns) 27358801021ns
-- Unif 10^9 :25597831us 0ns (34.13ns) 17081687us 0ns (22.78ns) 26078402835ns
-- Asc :19422188us 0ns (25.90ns) 682024us 0ns (0.91ns) 18281995788ns
-- Equal :10549270us 0ns (14.07ns) 542194us 0ns (0.72ns) 11474931030ns
-- Sqrt :15067788us 0ns (20.09ns) 11189625us 0ns (14.92ns)
Array size: 1000000000
-- Unif :33051195us 0ns (33.05ns) 31869860us 0ns (31.87ns) 38615929161ns
-- Unif 10^9 :32189190us 0ns (32.19ns) 20978238us 0ns (20.98ns) 32489815789ns
-- Asc :25853143us 0ns (25.85ns) 910908us 0ns (0.91ns) 24368838659ns
-- Equal :14048920us 0ns (14.05ns) 723287us 0ns (0.72ns) 15283302137ns
-- Sqrt :20039974us 0ns (20.04ns) 12795032us 0ns (12.80ns)